Alinear el texto a la derecha en Android TextView

Tengo un TextView en mi aplicación. Quiero alinear el texto a la derecha. Intenté agregar:

 android:gravity="right" 

Pero esto no funciona para mí.

¿Qué podría estar haciendo mal?

Creo que estás haciendo esto: android:layout_width = "wrap_content"
Si este es el caso, haz esto: android:layout_width = "match_parent"

En general, android:gravity="right" es diferente de android:layout_gravity="right" .

El primero afecta la posición del texto en sí mismo dentro de la Vista, por lo que si desea que esté alineado a la derecha, layout_width= debe ser "fill_parent" o "match_parent" .

El segundo afecta la posición de la vista dentro de su elemento primario, en otras palabras, alinea el objeto mismo (cuadro de edición o vista de texto) dentro de la vista principal.

La mejor solución es la que es más simple y la que menos modifica en el comportamiento del código .

¿Qué pasa si puede resolver este problema solo con 2 Propiedades en su TextView ?

¿En lugar de necesitar cambiar sus Propiedades de LinearLayout que quizás puedan alterar el comportamiento de los niños LinearLayout ?

Al usar esta forma, no necesita cambiar LinearLayout propiedades y el comportamiento de LinearLayout , solo necesita agregar las dos propiedades siguientes a su TextView destino:

 android:gravity="right" android:textAlignment="gravity" 

¿Qué mejor sería cambiar solo tu objective para resolver tu solución en lugar de tener la posibilidad de causar otro problema en el futuro, modificando tu padre objective? Piénsalo 🙂

android:layout_gravity se usa para alinear la vista de texto con respecto al diseño principal. android:gravity se usa para alinear el texto dentro de la vista de texto.

¿Estás seguro de que estás tratando de alinear el texto dentro de la vista de texto a la derecha o quieres mover la vista de texto a la derecha con respecto al diseño principal o estás tratando de lograr ambos?

Asegúrate de no estar usando android:layout_width="wrap_content" si es así, entonces no podrá establecer la gravedad porque no tienes suficiente espacio para alinear el texto. En su lugar usa android:layout_width="fill_parent"

 android:gravity="right" 

Se usa básicamente en Layout Lineal, por lo que debe establecer su ancho de TextView o EditText como

 android:layout_width = "match_parent" 

y

Cuando trabaje en Distribución relativa, use

 android:layout_alignParentRight="true" 

El siguiente fragmento de código:

 android:textAlignment="textEnd" android:layout_gravity="end" 

funciona bien para mí

Realice el (LinearLayout) android:layout_width="match_parent" y el android:layout_gravity="right"

Si está en RelativeLayout puede usar android:layout_toRightOf="@id/"

O

Si desea alinear a la esquina right del dispositivo, coloque el android:layout_alignParentRight="true"

Permítanme explicar el concepto de gravedad usando WEB porque muchos desarrolladores lo saben.

android_layout_gravity comporta float:left|right|top|bottom

Mientras que android_gravity funciona como text_align:centre|left|right

En Android float es android_layout_gravity y text_align: es android_gravity.

Y android_layout_gravity se aplica en relación con el elemento principal. donde como android_gravity se aplica a su contenido secundario o interno.

Nota android_gravity solo funciona cuando su vista es match_parent (cuando tiene espacio para centrar).

En caso de que alguien todavía necesite

 android:gravity="end" 

Debajo funciona para mí:

   

Tenga en cuenta las configuraciones de android:layout_alignParentEnd y android:textAlignment de la segunda TextView.

Puedes usar:

  android:layout_alignParentRight="true" android:layout_centerVertical="true" 

esto debería servir para el propósito

android:textAlignment="textStart"

También me enfrenté al mismo problema y pensé que el problema estaba sucediendo ya que el layout_width de TextView tenía wrap_content. Necesitas tener layout_width como match_parent y android: gravity = “gravity”

    

hace que el número uno se alinee en el centro tanto horizontal como vertical.

En mi caso, estaba usando el Relative Layout para un emptyString

Después de luchar en esto por una hora. Solo esto funcionó para mí:

 android:layout_toRightOf="@id/welcome" android:layout_toEndOf="@id/welcome" android:layout_alignBaseline="@id/welcome" 

layout_toRightOf o layout_toEndOf funciona, pero para apoyarlo mejor, utilicé ambos.

Para hacerlo más claro:

Esto era lo que estaba tratando de hacer:

enter image description here

Y esta era la salida del emulador

enter image description here

Diseño:

   

Darse cuenta de:

  1. android:layout_width="wrap_content" funciona
  2. Gravity no se usa

intenta agregar android:gravity="center" en TextView