Tengo un TextView
en mi aplicación. Quiero alinear el texto a la derecha. Traté de agregar:Texto de alineación a la derecha en Android TextView
android:gravity="right"
Pero esto no funciona para mí.
¿Qué podría estar haciendo mal?
Tengo un TextView
en mi aplicación. Quiero alinear el texto a la derecha. Traté de agregar:Texto de alineación a la derecha en Android TextView
android:gravity="right"
Pero esto no funciona para mí.
¿Qué podría estar haciendo mal?
pienso que usted está haciendo esto: android:layout_width = "wrap_content"
Si este es el caso, haga lo siguiente: android:layout_width = "match_parent"
'android: layout_width =" match_parent "' también correcto – Bishan
@Bishan fill llenará el resto del espacio, la coincidencia lo establecerá igual al ancho del elemento primario –
En realidad, fill_parent y match_parent son lo mismo. El nombre se cambió a match_parent porque aparentemente fill_parent confundía a las personas. –
Asegúrese de que no está utilizando android:layout_width="wrap_content"
si es así, entonces no podrá establecer la gravedad porque no tiene suficiente espacio para alinear el texto. En su lugar utilizar android:layout_width="fill_parent"
android:layout_gravity
se utiliza para alinear la vista de texto con respecto a la disposición de los padres. android:gravity
se usa para alinear el texto dentro de la vista de texto.
¿Seguro que está tratando de alinear el texto dentro de la vista de texto a la derecha o hacer que desea mover la vista de texto en sí a la derecha con respecto a la disposición de los padres o estás tratando de acheive tanto
Estoy tratando de alinear el texto dentro de la vista de texto a la derecha – Bishan
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, entonces 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, alinear el objeto mismo (cuadro de edición o vista de texto) dentro de la vista principal.
Si es en RelativeLayout
puede utilizar android:layout_toRightOf="@id/<id_of_desired_item>"
O
Si desea alinear a la esquina right
del dispositivo el lugar android:layout_alignParentRight="true"
Hacer que el (LinearLayout) android:layout_width="match_parent"
y el TextView android:layout_gravity="right"
La mejor solución es la que es la 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 tener que cambiar su LinearLayout
Propiedades que pueden alterar el comportamiento de LinearLayout
childs?
El uso de este modo, no es necesario cambiar LinearLayout
propiedades y el comportamiento, sólo tiene que añadir las dos siguientes propiedades a su objetivo TextView
:
android:gravity="right"
android:textAlignment="gravity"
Lo que sería mejor cambiar sólo a su objetivo para resolver su solución en lugar de tener la posibilidad de causar otro problema en el futuro, modificando a su padre objetivo? pensar en ello :)
Me sale un error al decir que no se ha encontrado ningún identificador de recurso para el recurso 'textAlignment' en el paquete de Android. – anu
¿Está seguro de que está accediendo a las propiedades 'TextView'? - Puede verificar la propiedad desde la referencia aquí: http://developer.android.com/reference/android/view/View.html#attr_android:textAlignment –
textAlignment se agregó en API nivel 17 (Android 4.2). Su emulador/dispositivo deberá estar ejecutando 4.2+ para que esto funcione. – thanhtd
intenta agregar android:gravity="center"
en TextView
continuación funciona para mí:
<TextView
android:id="@+id/tv_username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sarah" />
<TextView
android:id="@+id/tv_distance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/tv_username"
android:layout_alignParentEnd="true"
android:layout_toEndOf="@+id/tv_username"
android:text="San Marco"
android:textAlignment="viewEnd" />
Tenga en cuenta las android:layout_alignParentEnd
y android:textAlignment
configuración de la segunda TextView.
Voy a explicar el concepto de gravedad, utilizando WEB debido a que una gran cantidad de desarrolladores son conscientes de ello.
android_layout_gravity
comporta float:left|right|top|bottom
Mientras android_gravity
trabajo como text_align:centre|left|right
En flotador Android es android_layout_gravity y text_align: es android_gravity.
Y android_layout_gravity se aplica en relación con el elemento primario. 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).
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.Es necesario tener layout_width como match_parent y el androide: gravedad = "gravedad"
android:gravity="right"
Se utiliza básicamente en la Disposición lineal por lo que tenga que configurar el ancho de Vista de Texto o bien EditarTexto como
android:layout_width = "match_parent"
y
Cuando se trabaja en la disposición relativa, utilice
android:layout_alignParentRight="true"
Se puede utilizar:
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
esto debe servir al propósito
android:textAlignment="textStart"
El siguiente fragmento de código:
android:textAlignment="textEnd"
android:layout_gravity="end"
funciona muy bien para mí
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/tct_postpone_hour"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_gravity="center"
android:gravity="center_vertical|center_horizontal"
android:text="1"
android:textSize="24dp" />
</RelativeLayout>
hace que el número uno se alinee en el centro tanto horizontal como vertical.
En caso de que alguien todavía necesita
android:gravity="end"
En mi caso, yo estaba usando Relative Layout
para un emptyString
Después de luchar en esto durante una hora. Sólo esto funcionó para mí:
android:layout_toRightOf="@id/welcome"
android:layout_toEndOf="@id/welcome"
android:layout_alignBaseline="@id/welcome"
layout_toRightOf
o layout_toEndOf
ambas obras, sino para apoyar mejor, que utiliza ambos.
Para hacer más claro:
Esto era lo que estaba tratando de hacer:
Y esta era la salida
del emulador Diseño:
<TextView
android:id="@+id/welcome"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="Welcome "
android:textSize="16sp" />
<TextView
android:id="@+id/username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@id/welcome"
android:layout_toRightOf="@id/welcome"
android:text="@string/emptyString"
android:textSize="16sp" />
en cuenta que:
android:layout_width="wrap_content"
obrasGravity
no se utiliza
puede usted por favor cargar su código? – Lucifer