Come inserire il carattere spazio in un nome stringa in XML?


174

ho definito alcune stringhe nel strings.xmlfile. Ora devo mettere un po 'di spazio in più tra alcuni numeri nella stringa. Quando scrivo caratteri di spazio extra, tuttavia, ciò non viene visualizzato nell'applicazione.

Prima:

<string name="spelatonertext3">-4, 5, -5, 6, -6,

E se metto spazio extra in questo modo:

<string name="spelatonertext3">-4,  5, -5,   6,  -6,

Sembra lo stesso sull'app. Come posso rendere i caratteri dello spazio nella stringa XML?


Bene, sembrava uguale in questa pagina anche ... :) cosa è che voglio un po 'di spazio tra i numeri, come è possibile ...?
Andreas,

Utilizzare la formattazione del codice per preservare gli spazi (e il <>contenuto) su SO. :)
Andrew Thompson,

Risposte:


405

per usare gli spazi bianchi in xml come uso della stringa &#160;. XML non occuperà spazio bianco così com'è. taglierà lo spazio bianco prima di impostarlo. Quindi usa al &#160;posto del singolo spazio bianco


1
Questo non funziona con wrap_content di una visualizzazione di testo, quando lo spazio si trova alla fine del testo. La visualizzazione di testo non mantiene la larghezza occupata dal carattere "spazio".
toobsco42

28
Ciò aggiungerà uno spazio non interrompibile. È diverso da uno spazio normale e non funzionerà bene con alcune funzioni (XPath normalize-space, ad esempio). Prova a usare &#032;(spazio normale) invece di &#160;. @ toobsco42
shwartz,

Ho dovuto usare &#160;invece di \u0020posizionare uno spazio non-break dopo il prefisso in un numero di telefono. In caso contrario, il numero di telefono veniva spostato alla fine della riga dopo la parentesi finale del prefisso.
mharper,

& # 032; va bene se hai bisogno di 1 spazio. Se ne metti diversi (& # 032; & # 032; ...) vengono tagliati a 1. Penso che abbia lo stesso comportamento di un normale spazio vuoto, quindi sembra inutile. Se trovato anche un suggerimento su & # 009; (dovrebbe essere un carattere di tabulazione): non mostra nulla. & # 160; funziona bene, è quello di cui ho bisogno, grazie ρяσѕρєя K.
herve-guerin,

57

Inserisci \ u0020 direttamente nell'XML per uno spazio che desideri conservare.

<string name="spelatonertext3">-4, \u00205, \u0020\u0020-5, \u00206, \u0020-6,</string>

24

Android non supporta il mantenimento degli spazi alla fine della stringa nel file String.xml, quindi se si desidera spazio dopo stringa è necessario utilizzare questo unicode tra le parole.

\ u0020

È un carattere spaziale unicode.


Questo ha funzionato per me usando Android Studio 3.6.2 compilato per Android 4.4. Grazie.
Amore e pace - Joe Codeswell,

11

Come già accennato, il modo corretto di avere uno spazio in un file XML consiste nell'utilizzare \u0020qual è il carattere unicode per uno spazio.

Esempio:

<string name="spelatonertext3">-4,\u00205,\u0020-5,\u00206,\u0020-6</string>

Altri suggerimenti hanno detto di usare &#160;o &#032;ma ci sono due aspetti negativi. Il primo aspetto negativo è che questi sono caratteri ASCII, quindi ti affidi a qualcosa come un TextView per analizzarli. Il secondo aspetto negativo è che a &#160;volte può causare un involucro strano in TextViews.


7

Varianti di spazio:

<string name="space_demo">|&#x20;|&#x2009;|&#x200A;|</string>

| SPAZIO | SPAZIO SOTTILE | SPAZIO PER CAPELLI |


1
Questa è la più dolce e meravigliosa
Abdul Waheed,

6

Anche questo dovrebbe funzionare. Usa le virgolette per mantenere lo spazio

<string name="spelatonertext3">"-4,  5, -5,   6,  -6,"</string>

1
Questa è la risposta più pulita (più facile da leggere) secondo me. Sfortunatamente la maggior parte delle persone probabilmente non arriva così in fondo alla lista delle risposte prima di andare avanti.
David R

5

Inserisci il &#160;file string.xml per indicare un singolo spazio in un progetto Android.


5

Puoi anche usare il seguente

<string name="spelatonertext3"> "-4,  5, -5,   6,  -6, "> </string>

Inserisci qualsiasi cosa " "(tra virgolette) con spazio e dovrebbe funzionare


1
Metti qualsiasi cosa in "" (citazione) con spazio, e dovrebbe funzionare: QUESTO NON FUNZIONA
Krunal Shah,

3

Secondo la tua domanda se vuoi aggiungere spazi più di uno nelle risorse stringa, ci sono molte opzioni per aggiungere spazi tra caratteri o parole:

1.Per uno spazio predefinito è possibile aggiungere direttamente nel file di risorse stringa che funziona correttamente. ma se si dà più di uno spazio all'interno del file delle risorse della stringa, si esclude tale spazio. per esempio . -4, 5, -5, 6, -6,

  1. Se si desidera aggiungere più spazi extra all'interno del file di risorse della stringa, utilizzare: - i. aggiungendo Unicode dopo carattere come

        <string name="test">-4,&#160;&#160;5,&#160;&#160;-5,&#160;&#160;6,&#160;&#160;-6,</string>

ii. puoi usare "\ u0020"

<string name="test">-4,\u0020\u0020 5,\u0020\u00205 -5,\u0020\u00205 6,\u0020\u00205 -6,</string>

3

Se stai cercando di dare spazio tra 2 stringhe O nel file String di Android, fallo nel tuo file string. Implementalo prima del tuo "Nome stringa" che vuoi mostrare. \ u0020 \ u0020 Per es. \ u0020 \ u0020 \ u0020 \ u0020 \ u0020 \ u0020Payment


2

xml: space = "preserve"

Funziona come un fascino.

Modifica: sbagliato. In realtà, funziona solo quando il contenuto è composto solo da spazi bianchi.

collegamento


1

Se l'output è HTML, in HTML più spazi vengono visualizzati come uno spazio singolo. Per evitare ciò, utilizzare spazi non interruttori (xA0) anziché spazi ordinari.


1

L'unico modo per ottenere più spazi nel mezzo della stringa.

<string name="some_string">Before" &#x20; &#x20; &#x20;"After</string>

Before   After

0

Si desidera visualizzarlo come "-4, 5, -5, 6, -6," (due spazi), è possibile aggiungere il seguente codice a string.xml

<string name="spelatonertext3"> "-4,&#160;&#160;5,&#160;-5,&#160;&#160;6,&#160;&#160;-6,"</string>

  viene visualizzato uno spazio.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.