Alinear texto a la derecha en android TextView
Tengo un TextView
en mi solicitud. Quiero alinear el texto a la derecha. He intentado añadir:
android:gravity="right"
Pero esto no funciona para mí.
¿Qué podría estar haciendo mal?
18 answers
Creo que estás haciendo esto: android:layout_width = "wrap_content"
Si este es el caso, haga esto: android:layout_width = "match_parent"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-27 17:05:26
En general, android:gravity="right"
es diferente de android:layout_gravity="right"
.
El primero afecta a la posición del texto en sí 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 a la posición de la vista dentro de su padre, en otras palabras, alineando el objeto en sí (cuadro de edición o vista de texto) dentro de la vista padre.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-01-28 23:54:09
La mejor solución es la que sea más simple y la que haga menos modificaciones 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 LinearLayout
que tal vez puedan alterar el comportamiento de LinearLayout
childs?
De esta manera, no necesita cambiar las propiedades y el comportamiento de LinearLayout
, solo necesita agregar las dos propiedades siguientes a su destino TextView
:
android:gravity="right"
android:textAlignment="gravity"
¿Qué sería mejor cambiar solo su objetivo para resolver su solución en lugar de tener la oportunidad de causar otro problema en el futuro, modificando su padre objetivo? piénsalo:)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-21 18:03:18
android:layout_gravity
se utiliza para alinear la vista de texto con respecto al diseño principal.
android:gravity
se utiliza para alinear el texto dentro de la vista de texto.
¿Está seguro de que está tratando de alinear el texto dentro de la vista de texto a la derecha o desea mover la vista de texto a la derecha con respecto al diseño padre o está tratando de lograr ambos
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-01-23 09:13:16
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 que el texto se alinee. En su lugar use android:layout_width="fill_parent"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-21 08:30:02
El siguiente fragmento de código:
android:textAlignment="textEnd"
android:layout_gravity="end"
Funciona muy bien para mí
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-22 14:08:56
android:gravity="right"
Se utiliza básicamente en el Diseño lineal, por lo que debe establecer el ancho de TextView o EditText como
android:layout_width = "match_parent"
Y
Cuando esté trabajando en un Diseño relativo, use
android:layout_alignParentRight="true"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-28 03:12:39
Hacer el (LinearLayout) android:layout_width="match_parent"
y el TextView android:layout_gravity="right"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-19 02:39:57
Si está en RelativeLayout
puede usar android:layout_toRightOf="@id/<id_of_desired_item>"
O
Si desea alinear a la esquina right
del dispositivo, el lugar android:layout_alignParentRight="true"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-10 21:51:28
Permítanme explicar el concepto de gravedad usando WEB porque muchos desarrolladores son conscientes de ello.
android_layout_gravity
se comporta float:left|right|top|bottom
Considerando 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 padre. donde as 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).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-02 11:58:43
En caso de que alguien todavía necesite
android:gravity="end"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-16 09:13:15
A 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 configuraciones android:layout_alignParentEnd
y android:textAlignment
del segundo TextView.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-26 01:32:20
Puedes usar:
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-01 16:04:15
Esto debería servir para el propósito
android:textAlignment="textStart"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-09 08:33:19
También me enfrenté al mismo problema y pensé que el problema estaba sucediendo ya que el layout_width del TextView tenía wrap_content. Necesitas tener layout_width como match_parent y android: gravity = "gravity"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-26 01:29:07
<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.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-31 12:11:20
En mi caso, estaba usando Relative Layout
para un emptyString
Después de luchar en esto durante 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
ambos funcionan, pero para apoyarlo mejor, utilicé ambos.
Para dejarlo más claro:
Esto era lo que estaba tratando de hacer:
Y esta fue 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" />
Observe que:
-
android:layout_width="wrap_content"
funciona -
Gravity
no se utiliza
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-25 06:17:41
Intenta añadir android:gravity="center"
a TextView
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-07 13:13:52