Cómo editar cadenas multilínea en el archivo strings.xml de Android?
Tengo varios casos donde mi cadena en strings.xml es bastante larga y tiene varias líneas hechas con \n.
Edición sin embargo es bastante molesto ya que es una larga línea en Eclipse.
- Configuración de SupportActionBar subtitle multiline
- Desactivar la conversión de palabras en un TextView multi-línea de Android
- Botones con texto multilínea hundirse bajo la línea de alineación, ¿cómo arreglarlo?
- Cómo implementar Multiline EditText con el botón ActionDone (sin el botón Enter)
- Android EditText: Hecho en lugar de Enter o Word Wrap en lugar de Multi Line
¿Existe una mejor manera de editar esto por lo que parece que se presentará más adelante en el textview , es decir, la línea se rompe como saltos de línea y el texto en modo de edición multilínea?
- Android: problemas de edittext y de teclado multilínea
- Android - EditText multilínea forzada a llenar la altura
- Impedir introducir la clave en EditText pero todavía mostrar el texto como multi-line
- Android multiline edittext no aumentar su altura como los tipos de usuario
- Diseño similar a WhatsApp para multilines EditText y botones junto a él
- Detectar donde el TextView de Android insertaría un salto de línea
- Android AlertDialog multiline EditText
- Multiline EditText en los problemas de desplazamiento de RecyclerView
Dos posibilidades:
1. Utilice la Fuente, Lucas
XML permite caracteres de nueva línea literales en cadenas:
<string name="breakfast">eggs and spam</string>
Sólo tienes que editar el código XML en lugar de usar la ingeniosa interfaz gráfica de Eclipse
2. Utilizar archivos de texto reales
Todo dentro del directorio de assets
está disponible como un flujo de entrada desde el código de la aplicación.
Puede acceder a los flujos de entrada de archivos de los activos con AssetManager.open()
, una instancia de AssetManager
con Resources.getAssets()
, y … ya sabes, aquí está el típico Java-típico código detallado para una tarea tan simple:
View view; //before calling the following, get your main //View from somewhere and assign it to "view" String getAsset(String fileName) throws IOException { AssetManager am = view.getContext().getResources().getAssets(); InputStream is = am.open(fileName, AssetManager.ACCESS_BUFFER); return new Scanner(is).useDelimiter("\\Z").next(); }
El uso de Scanner
es obviamente un acceso directo m (
Claro, usted podría poner nuevas líneas en el XML, pero eso no le dará saltos de línea. En strings.xml , como en todos los archivos XML, Newlines en el contenido de la cadena se convierten en espacios . Por lo tanto, la declaración
<string name="breakfast">eggs and spam</string>
Se rendirá como
eggs and spam
En un TextView. Afortunadamente, hay una forma sencilla de tener newlines en la fuente y en la salida – use \ n para las salidas de salida de su salida, y escapa de las nuevas líneas reales en la fuente. La declaración anterior se
<string name="breakfast">eggs\n and\n spam</string>
Que se representa como
eggs and spam
Puede usar "" fácilmente y escribir cualquier palabra incluso de otros idiomas sin error:
<string name="Hello">"Hello world! سلام دنیا!" </string>