Estoy tratando de agregar un salto de línea en TextView.
Intenté sugerido \ n pero eso no hace nada. Así es como configuro mis textos.
TextView txtSubTitle = (TextView)findViewById(r.id.txtSubTitle);
txtSubTitle.setText(Html.fromHtml(getResources().getString(R.string.sample_string)));
Esta es mi cadena: <string name="sample_string">some test line 1 \n some test line 2</string>
Debería mostrarse así:
some test line 1
some test line 2
Pero muestra así: some test line 1 some test line 2
.
¿Me estoy perdiendo de algo?
android
textview
line
line-breaks
gotas de Jupiter
fuente
fuente
\n
hecho es la mejor manera. github.com/paour/StringResourceTestHtml.fromHtml()
función y simplemente utilícelatxtSubTitle.setText(getResources().getString(R.string.sample_string))
.Respuestas:
\n
funciona para mí, así:fuente
\n
solo funcionará ... No pienses que\r
hace nada.ok lo descubrí:
por lo que es necesario envolverlo en CDATA y se agregan saltos en el interior como etiquetas html
fuente
Html.fromHtml()
, que es demasiado para un salto de línea simple, y no es bien compatible con los proveedores de traducción.Android versión 1.6 no reconoce \ r \ n. En su lugar, use: System.getProperty ("line.separator")
fuente
Los saltos de línea (\ n) solo funcionan si coloca el valor de su recurso de cadena entre comillas como esta:
No hará saltos de línea si lo pones sin comillas como esta:
Sí, es así de fácil.
fuente
<string name="sample_string">"some test line 1 some test line 2 line 3" </string>
Intenté todo lo anterior, hice algunas investigaciones por mi cuenta, lo que resultó en la siguiente solución para representar caracteres de escape de salto de línea:
Usando el método de reemplazo, necesita filtrar los saltos de línea escapados (por ejemplo, '\\ n')
Solo entonces cada instancia de salto de línea '\ n' caracteres de escape se procesa en el salto de línea real
Para este ejemplo, utilicé una base de datos noSQL de Script de Google Apps (ScriptDb) con datos con formato JSON.
Saludos: D
fuente
Esto funciono para mi
fuente
Hay dos formas de evitar esto. Si usa su cadena como cadena sin procesar, debe usar el carácter de nueva línea. Si lo usa como html, por ejemplo, analizándolo con
Html.fromString
, la segunda variante es mejor.1) Carácter de nueva línea
\n
2) etiqueta de nueva línea HTML
<br>
o<br />
fuente
<br>
,<u>
,<b>
Y<i>
las etiquetas están permitidas en recursos de cadena sin salida, y se aplican correctamenteTextView.setText(resId)
. Se eliminan si se usanContext.getString(resId)
, a menos que estén envueltos en unaCDATA
sección.Esto funcionó para mí, tal vez alguien lo encuentre útil:
fuente
Si está utilizando XML para declarar su uso de TextView
android:singleLine = "false"
o en Java, usetxtSubTitle.setSingleLine(false);
fuente
Usó Android Studio 0.8.9. La única forma en que funcionó para mí es usando
\n
. Ni envoltura con CDATA ni<br>
o<br />
trabajó.fuente
Yo uso lo siguiente:
fuente
muy fácil: usa "\ n"
\ n corresponde a ASCII char 0xA, que es 'LF' o avance de línea
\ r corresponde a ASCII char 0xD, que es 'CR' o retorno de carro
esto se remonta a las primeras máquinas de escribir, donde puede elegir hacer solo un avance de línea (y escribir solo una línea más baja), o un avance de línea + retorno de carro (que también se mueve al comienzo de una línea)
en Android / Java, el \ n corresponde a un retorno de carro + avance de línea, ya que de lo contrario simplemente 'sobrescribiría' la misma línea
fuente
Intenta verificar dos veces tus localizaciones. Posiblemente, intente editar un archivo (localización), pero en realidad programe usando otro, como en mi caso . El idioma predeterminado del sistema es el ruso, mientras intento editar la localización en inglés.
En mi caso, la solución de trabajo es usar "\ n" como separador de línea:
fuente
También puede agregar en
"<br/>"
lugar de \ n.Es código escapado HTML para <br/>
Y luego puede agregar texto a TexView:
fuente
Html.fromHtml(textForTextView).toString()
--- Y luego puedes hacer:articleTextView.setText(Html.fromHtml("text before break<br/>text after break").toString());
-------- En otras palabras, solo usa<br/>
directamente dentrofromHtml()
<br/>
debería ser suficiente para asegurarse de que la información de estilo no se elimine. (basado en la documentación oficial)También puede usar el editor de cadenas de Android Studio, genera automáticamente frenos de línea y cosas así ...
fuente
Como en
Html.fromHtml
desuso, simplemente usé este código para obtener String2 en la siguiente línea..
fuente
La forma más fácil de hacerlo es ir a valores / cadenas (en su carpeta de recursos)
Declara una cadena allí:
Y en su archivo xml específico simplemente llame a la cadena como
fuente
Encontré otro método: es necesario agregar el atributo " android: maxWidth =" 40dp " ". Por supuesto, puede que no funcione perfectamente, pero da un salto de línea.
fuente
\ n no estaba funcionando para mí. Pude solucionar el problema cambiando el xml a texto y construyendo la propiedad de texto de vista de texto como se muestra a continuación.
Esperemos que esto ayude a aquellos que han dicho que \ n no funcionó para ellos.
fuente
\n
personajes ocultos allí.Estoy leyendo mi texto de un archivo, así que tomé un enfoque ligeramente diferente, ya que agregar \ n al archivo resultó en \ n aparecer en el texto.
fuente
¿Quizás pueda poner el lf en el texto, pero no se muestra? Asegúrese de tener suficiente altura para el control. Por ejemplo:
Correcto:
Puede estar mal:
fuente
En mi caso, resolví este problema agregando lo siguiente:
fuente
prueba esto:
fuente
Siento que se necesita una respuesta más completa para describir cómo funciona esto más a fondo.
En primer lugar, si necesita un formato avanzado, consulte el manual sobre cómo usar HTML en los recursos de cadena .
Luego puede usar
<br/>
, etc. Sin embargo, esto requiere configurar el texto usando el código.Si es solo texto sin formato, hay muchas formas de escapar de un carácter de nueva línea (LF) en los recursos de cadena estática .
Encerrando la cadena entre comillas dobles
La forma más limpia es encerrar la cadena entre comillas dobles.
Esto hará que el espacio en blanco se interprete exactamente como aparece, no colapsado.
Entonces puede simplemente usar nueva línea normalmente en este método (no use sangría).
Tenga en cuenta que algunos caracteres requieren un escape especial en este modo (como
\"
).Las secuencias de escape a continuación también funcionan en modo citado.
Cuando se usa una sola línea en XML para representar cadenas de varias líneas
La forma más elegante de escapar de la nueva línea en XML es con su punto de código (10 o 0xA en hexadecimal) utilizando su entidad XML / HTML


o
. Esta es la forma XML de escapar de cualquier personaje .Sin embargo, esto parece funcionar solo en modo citado.
Otro método es simplemente usar
\n
, aunque afecta negativamente la legibilidad, en mi opinión (dado que no es una secuencia de escape especial en XML, Android Studio no lo resalta).No incluya una nueva línea ni ningún espacio en blanco después de ninguna de estas secuencias de escape, ya que eso se interpretará como espacio adicional.
fuente
Use un salto de texto como este (\ n):
fuente