¿Cómo coloco el cursor a la derecha en EditText?

Mi aplicación usa Lenguaje RTL (De derecha a izquierda).

Cuando el EditText el campo se enfoca, el cursor aparece a la izquierda y solo cuando el usuario comienza a escribir, el cursor (y el texto RTL) se mueve hacia la derecha. Cuando el usuario hace clic en "Intro" para comenzar una nueva línea, el cursor se mueve hacia la izquierda nuevamente.

Cuando uso android:gravity="right", el cursor está bien (a la derecha) pero cuando el usuario comienza a escribir, el texto siempre se mueve hacia el otro lado (el texto RTL se mueve hacia la izquierda).

¿Alguna idea de cómo puedo alinear el texto a la derecha Y mantener la dirección del texto?

preguntado Oct 18 '11, 17:10

Yo también estoy buscando solo sobre esto ... Si tienes la respuesta significa ... Por favor, avísame ... -

Todavía no hay respuesta, pero descubrí que en algunos dispositivos este comportamiento es diferente al de otros. Trabajo con dispositivos habilitados para hebreo y el comportamiento del Galaxy S es diferente al del Galaxy S2. Supongo que lo que importa es la ROM instalada. Todavía no lo he probado en Ice cream sandwich, donde la compatibilidad con el lenguaje RTL viene de serie. Si mi pregunta es relevante para usted, le agradecería que haga clic en ^ (arriba) en ella. -

Si su aplicación no es multilingüe, puede alinear el campo TextView solo a la derecha (para que pueda "estirarse" hacia la izquierda). Funciona cuando el campo es de una sola línea. -

Prueba esta respuesta: stackoverflow.com/a/6624186/758458 -

¿Ha encontrado alguna solución a este problema? Por favor, responda aquí. stackoverflow.com/questions/11314356/… -

5 Respuestas

Funciona para mi

      <EditText
            android:id="@+id/editText1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:ellipsize="end"
            android:gravity="right" />

ellipsize es importante

Resuelve tu problema

Respondido el 29 de diciembre de 15 a las 14:12

Es posible que desee examinar el soporte RTL nativo que se introdujo en Android 4.2 Jelly Bean.

http://developer.android.com/about/versions/jelly-bean.html

Android 4.2 presenta soporte nativo completo para diseños RTL (de derecha a izquierda), incluida la duplicación de diseños. Con el soporte RTL nativo, puede ofrecer la misma gran experiencia de aplicación a todos sus usuarios, ya sea que su idioma use un script que se lee de derecha a izquierda o uno que se lee de izquierda a derecha.

Respondido el 05 de diciembre de 12 a las 09:12

Tengo el mismo problema y puedo solucionarlo configurando android:textDirection en mi EditText. p.ej

android:textDirection="inherit"

puedes cambiar el valor de dirección del texto según su requerimiento. Lo he tomado como heredar porque el usuario puede cambiar el idioma en la aplicación. Entonces, si el usuario ha seleccionado un idioma como inglés o hindi, comenzará a escribir desde dirección de izquierda a derecha, pero si el usuario ha seleccionado un idioma como urdu, comenzará a escribir dirección de derecha a izquierda.

Para esta tu aplicación nivel mínimo de API debiera ser 17.

Respondido 27 Abr '17, 07:04

A partir del nivel de API> = 17

Podemos utilizar android: layoutDirection en editar texto. También android:gravity="end" también debería funcionar.

Respondido el 27 de Septiembre de 16 a las 18:09

EN MI HUMILDE OPINIÓN, android:gravity = right sólo hace que el texto esté justificado a la derecha. Pero lo que quieres no se puede hacer con esto. Puedes llamar a un ontouch evento en el textbox y agregue el nuevo carácter a la derecha del texto actual y vuelva a mostrarlo .....

Respondido el 23 de enero de 17 a las 13:01

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.